# -*- coding: utf_8 -*-
# @Create   : 2021/7/20 14:35
# @Author   : yh
# @Remark   : 用户db层
import logging

from mxsoftpy import DB
from mxsoftpy.exception import DBError


class UserDB(DB):

    def user_items(self, user_id) -> dict:
        """
        获取单个用户数据
        :param user_id: 要查询的用户id
        :return: 用户属性字典
        """
        try:
            items = self.tree.open('Co', 'Co_1\\UG\\BSUser\\' + user_id, file='master').items()
        except AssertionError as e:
            logging.error('从数据获取用户数据失败：%s, 错误：%s' % (user_id, str(e)))
            raise DBError(int(e.__str__()), '从数据库获取用户数据失败 %s' % user_id)
        return items

    def simple_list(self) -> dict:
        """
        获取在用以及符合传入条件的用户简单列表
        """
        return self.tree.open('Co', 'Co_1\\UG\\BSUser', file='master').sub_items()
